<?php
define('root',$_SERVER['DOCUMENT_ROOT']);
include_once(root."/ecsac-tic-apps-extranet/web-cont/esmeralda-services-maintenance/class/conexion/config.inc.php"); 
include_once(root."/ecsac-tic-apps-extranet/web-cont/esmeralda-services-maintenance/class/conexion/classConexion.php");
include_once(root."/ecsac-tic-apps-extranet/web-cont/esmeralda-services-maintenance/class/entity/entityOrdenTrabajoUsuario.php");

Class classOrdenTrabajo{
		
	function classOrdenTrabajo(){
		$this->con = new classConexion;
	}

	public function listarOrdenTrabajo($con_orden, $tar_orden, $usu_orden, $emp_orden, $tip_orden, $ini_orden, $fin_orden){
	
		$arrListaOrdenTrabajoUsuarioE = array();
	
		$dsn = _dsn;
		$usuario = _usuario;
		$clave = _clave;
	
		$cid = odbc_connect($dsn, $usuario, $clave);
	
		if(!$cid){
				
			exit("<strong>Ya ocurrido un error tratando de conectarse con el origen de datos.</strong>");
				
		}else{
			
			if($usu_orden != 0 && $tar_orden != 0){
				
				$sql = "";
				$sql = $sql."	select 
								ORDEN_DE_TRABAJO.NRO_UNICO as 'ORD_TRA_NRO_UNI', 
								ORDEN_DE_TRABAJO.D_TITULO_ORDEN as 'ORD_TRA_DES_TIT_ORD', 
								ORDEN_DE_TRABAJO.FECHA_INICIO as 'ORD_TRA_FEC_INI', 
								ORDEN_DE_TRABAJO.FECHA_FIN as 'ORD_TRA_FEC_FIN', 
								ORDEN_DE_TRABAJO.COD_PERSONAL_ASIGNADO as 'ORD_TRA_COD_PER', 
								ORDEN_DE_TRABAJO.NRO_TAREA_PROGRAMADA as 'ORD_TRA_NRO_TAR_PRO',
								PERSONAL.NOMBRE_COMPLETO as 'PER_NOM_COM',
								PERSONAL.D_USUARIO_MAQUINA as 'PER_DES_USU_MAQ' 
								from ORDEN_DE_TRABAJO 
								inner join PERSONAL 
								on ORDEN_DE_TRABAJO.COD_PERSONAL_ASIGNADO=PERSONAL.NRO_UNICO 
								inner join TAREA_PROGRAMADA 
								on ORDEN_DE_TRABAJO.NRO_TAREA_PROGRAMADA=TAREA_PROGRAMADA.NRO_UNICO 
								where ORDEN_DE_TRABAJO.NRO_TAREA_PROGRAMADA=".$tar_orden." 
								and ORDEN_DE_TRABAJO.COD_PERSONAL_ASIGNADO=".$usu_orden." ";
				
				if($emp_orden!=0){
					
					$sql = $sql."and ORDEN_DE_TRABAJO.COD_EMPRESA=".$emp_orden." ";
					
				}
				
				$sql = $sql."	and (ORDEN_DE_TRABAJO.COD_ESTADO=2
								or ORDEN_DE_TRABAJO.COD_ESTADO=3 
								or ORDEN_DE_TRABAJO.COD_ESTADO=5) 
								order by ORDEN_DE_TRABAJO.NRO_UNICO";
			
			}else if($usu_orden == 0 && $tar_orden != 0){
				
				$sql = "";
				$sql = $sql."	select 
								ORDEN_DE_TRABAJO.NRO_UNICO as 'ORD_TRA_NRO_UNI', 
								ORDEN_DE_TRABAJO.D_TITULO_ORDEN as 'ORD_TRA_DES_TIT_ORD', 
								ORDEN_DE_TRABAJO.FECHA_INICIO as 'ORD_TRA_FEC_INI', 
								ORDEN_DE_TRABAJO.FECHA_FIN as 'ORD_TRA_FEC_FIN', 
								ORDEN_DE_TRABAJO.COD_PERSONAL_ASIGNADO as 'ORD_TRA_COD_PER', 
								ORDEN_DE_TRABAJO.NRO_TAREA_PROGRAMADA as 'ORD_TRA_NRO_TAR_PRO',
								PERSONAL.NOMBRE_COMPLETO as 'PER_NOM_COM',
								PERSONAL.D_USUARIO_MAQUINA as 'PER_DES_USU_MAQ' 
								from ORDEN_DE_TRABAJO 
								inner join PERSONAL 
								on ORDEN_DE_TRABAJO.COD_PERSONAL_ASIGNADO=PERSONAL.NRO_UNICO 
								inner join TAREA_PROGRAMADA 
								on ORDEN_DE_TRABAJO.NRO_TAREA_PROGRAMADA=TAREA_PROGRAMADA.NRO_UNICO 
								where NRO_TAREA_PROGRAMADA=".$tar_orden." ";
				
				if($emp_orden!=0){
						
					$sql = $sql."and ORDEN_DE_TRABAJO.COD_EMPRESA=".$emp_orden." ";
						
				}
				
				$sql = $sql."	and (ORDEN_DE_TRABAJO.COD_ESTADO=2 
								or ORDEN_DE_TRABAJO.COD_ESTADO=3 
								or ORDEN_DE_TRABAJO.COD_ESTADO=5) 
								order by ORDEN_DE_TRABAJO.NRO_UNICO";
			
			}else if($usu_orden != 0 && $tar_orden == 0){
				
				$sql = "";
				$sql = $sql."	select 
								ORDEN_DE_TRABAJO.NRO_UNICO as 'ORD_TRA_NRO_UNI', 
								ORDEN_DE_TRABAJO.D_TITULO_ORDEN as 'ORD_TRA_DES_TIT_ORD', 
								ORDEN_DE_TRABAJO.FECHA_INICIO as 'ORD_TRA_FEC_INI', 
								ORDEN_DE_TRABAJO.FECHA_FIN as 'ORD_TRA_FEC_FIN', 
								ORDEN_DE_TRABAJO.COD_PERSONAL_ASIGNADO as 'ORD_TRA_COD_PER', 
								ORDEN_DE_TRABAJO.NRO_TAREA_PROGRAMADA as 'ORD_TRA_NRO_TAR_PRO',
								PERSONAL.NOMBRE_COMPLETO as 'PER_NOM_COM',
								PERSONAL.D_USUARIO_MAQUINA as 'PER_DES_USU_MAQ' 
								from ORDEN_DE_TRABAJO 
								inner join PERSONAL 
								on ORDEN_DE_TRABAJO.COD_PERSONAL_ASIGNADO=PERSONAL.NRO_UNICO 
								inner join TAREA_PROGRAMADA 
								on ORDEN_DE_TRABAJO.NRO_TAREA_PROGRAMADA=TAREA_PROGRAMADA.NRO_UNICO 
								where COD_PERSONAL_ASIGNADO=".$usu_orden." ";

				if($emp_orden!=0){
				
					$sql = $sql."	and ORDEN_DE_TRABAJO.COD_EMPRESA=".$emp_orden." ";
				
				}
				
				/*if($ini_orden != "" & $fin_orden != ""){
				
					$sql = $sql."	and TAREA_PROGRAMADA.FECHA_INI>='".$ini_tarea."' 
									and TAREA_PROGRAMADA.FECHA_FIN<='".$fin_tarea."' ";
				
				}*/
				
				$sql = $sql."	and (ORDEN_DE_TRABAJO.COD_ESTADO=2 
								or ORDEN_DE_TRABAJO.COD_ESTADO=3 
								or ORDEN_DE_TRABAJO.COD_ESTADO=5) 
								order by ORDEN_DE_TRABAJO.NRO_UNICO";
			
			}else{
				
				$sql = "";
				$sql = $sql."	select 
								ORDEN_DE_TRABAJO.NRO_UNICO as 'ORD_TRA_NRO_UNI', 
								ORDEN_DE_TRABAJO.D_TITULO_ORDEN as 'ORD_TRA_DES_TIT_ORD', 
								ORDEN_DE_TRABAJO.FECHA_INICIO as 'ORD_TRA_FEC_INI', 
								ORDEN_DE_TRABAJO.FECHA_FIN as 'ORD_TRA_FEC_FIN', 
								ORDEN_DE_TRABAJO.COD_PERSONAL_ASIGNADO as 'ORD_TRA_COD_PER', 
								ORDEN_DE_TRABAJO.NRO_TAREA_PROGRAMADA as 'ORD_TRA_NRO_TAR_PRO', 
								PERSONAL.NOMBRE_COMPLETO as 'PER_NOM_COM',
								PERSONAL.D_USUARIO_MAQUINA as 'PER_DES_USU_MAQ' 
								from ORDEN_DE_TRABAJO 
								inner join PERSONAL 
								on ORDEN_DE_TRABAJO.COD_PERSONAL_ASIGNADO=PERSONAL.NRO_UNICO 
								inner join TAREA_PROGRAMADA 
								on ORDEN_DE_TRABAJO.NRO_TAREA_PROGRAMADA=TAREA_PROGRAMADA.NRO_UNICO 
								where (ORDEN_DE_TRABAJO.COD_ESTADO=2 
								or ORDEN_DE_TRABAJO.COD_ESTADO=3) ";
								
				if($emp_orden!=0){
				
					$sql = $sql."	and ORDEN_DE_TRABAJO.COD_EMPRESA=".$emp_orden." ";
				
				}
				
				/*if($ini_orden != "" & $fin_orden != ""){
				
					$sql = $sql."	and TAREA_PROGRAMADA.FECHA_INI>='".$ini_tarea."' 
									and TAREA_PROGRAMADA.FECHA_FIN<='".$fin_tarea."' ";
				
				}*/
								
				$sql = $sql."	order by ORDEN_DE_TRABAJO.NRO_UNICO";
			
			}
			
			$rs = odbc_exec($cid,$sql) or die(exit("Error en odbc_exec"));
				
			if($rs){
	
				while(odbc_fetch_row($rs)){
						
					$objOrdenTrabajoUsuarioE = new entityOrdenTrabajoUsuario();
						
					$objOrdenTrabajoUsuarioE->set_int_orden_trabajo_nro_unico((int)(odbc_result($rs,'ORD_TRA_NRO_UNI')));
					$objOrdenTrabajoUsuarioE->set_str_orden_trabajo_descripcion_titulo((string)(odbc_result($rs,'ORD_TRA_DES_TIT_ORD')));
					$objOrdenTrabajoUsuarioE->set_str_orden_trabajo_fecha_inicio((string)(odbc_result($rs,'ORD_TRA_FEC_INI')));
					$objOrdenTrabajoUsuarioE->set_str_orden_trabajo_fecha_fin((string)(odbc_result($rs,'ORD_TRA_FEC_FIN')));
					$objOrdenTrabajoUsuarioE->set_int_orden_trabajo_cod_personal_asignado((int)(odbc_result($rs,'ORD_TRA_COD_PER')));
					$objOrdenTrabajoUsuarioE->set_int_orden_trabajo_nro_tarea_programada((int)(odbc_result($rs,'ORD_TRA_NRO_TAR_PRO')));
					$objOrdenTrabajoUsuarioE->set_str_personal_nombre_completo((string)(odbc_result($rs,'PER_NOM_COM')));
					$objOrdenTrabajoUsuarioE->set_str_personal_usuario_maquina((string)(odbc_result($rs,'PER_DES_USU_MAQ')));
						
					array_push($arrListaOrdenTrabajoUsuarioE, $objOrdenTrabajoUsuarioE);
						
				}
	
			}
				
		}
	
		return $arrListaOrdenTrabajoUsuarioE;
	
	}
	
}

?>